package com.tz.crm.dao;


import com.tz.crm.entity.Role;
import com.tz.crm.entity.User;
import com.tz.crm.utils.Pager;

import java.util.List;

/**
 * 员工接口
 */
public interface UserDao extends BaseDao<User, String> {

    /**
     * 查找员工 id 查询角色列表
     *
     * @param id 员工 id
     * @return 角色列表
     */
    List<Role> getRolesById(int id);

    /**
     * 查询所有员工详细信息
     *
     * @param pager Pager
     * @return user list
     */
    List<User> getAll(Pager pager);

    /**
     * 根据员工姓名，模糊查询员工列表
     *
     * @param realName 员工姓名
     * @return 员工列表
     */
    List<User> getByName(String realName);

    /**
     * 根据 username ,password 查找用户
     *
     * @param username username
     * @param password password
     * @return 用户
     */
    User login(String username, String password);

    /**
     * 根据部门名, pager 查找部门员工列表
     *
     * @param departmentName 部门名
     * @param pager          pager
     * @return 部门员工列表
     */
    //todo:trim
    List<User> getByDepartmentName(String departmentName, Pager pager);

}
